package com.idc.resource.service;

import com.idc.resource.enums.UserLevelEnum;
import com.idc.resource.manager.MenuManager;
import com.idc.resource.model.MenuTree;
import com.idc.resource.model.UserInfoResDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 权限和菜单服务
 * Created by Lijing on 2017/7/11.
 */
@Slf4j
@Service
public class AuthMenuService {

    /** 菜单管理 */
    @Autowired
    private MenuManager menuManager;
    /** 令牌管理服务 */
    @Autowired
    private TokenService tokenService;

    /**
     * 根据用户id查询菜单权限信息
     * @param userInfo 用户信息
     * @return 菜单权限
     */
    public List<MenuTree> queryMenuTree(UserInfoResDto userInfo){
        Long userId = userInfo.getId();
        if(UserLevelEnum.SUPPER_MANAGER.getCode().equals(userInfo.getUserLv())){
            userId=null;
        }
        return menuManager.getMenuTree(userId);
    }

    /**
     * 获取登录菜单
     * @param token 登录token
     * @return 菜单信息
     */
    public List<MenuTree> getLoginMenu(String token){
        UserInfoResDto userInfo = tokenService.getLoginUser(token);
        return queryMenuTree(userInfo);
    }

}
